home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 2,801 to 2,900 / aol-file-protocol-4400-2801-to-2900.zip / AOLDLs / C++ Files Library / Hide Menu Bar (C++) / HideMenuBar.cp next >
Text File  |  2014-09-28  |  1KB  |  55 lines

  1. //    globals for this file
  2.  
  3. static Boolean        gMenuBarIsHidden = false;        //    true if menu bar is hidden
  4. static short        gMenuBarHeight;                    //    original menu bar height
  5. static rect            gMenuBarBounds;                    //    bounds of menu bar
  6. static RgnHandle    gOldGrayRgn = nil;                //    saved gray region
  7.  
  8. //    HideMenuBar -- save current GrayRgn and MBarHeight, hide the menu bar
  9. void HideMenuBar(void)
  10. {
  11.     if ( !gMenuBarIsHidden ) {
  12.         gMenuBarHeight = LMGetMBarHeight();
  13.         LMSetMBarHeight(0);
  14.         
  15.         if ( gOldGrayRgn == nil ) gOldGrayRgn = NewRgn();
  16.             
  17.         CopyRgn(LMGetGrayRgn(), gOldGrayRgn);
  18.         RgnHandle menuRgn = NewRgn();
  19.         rect menuRect = qd.screenBits.bounds;
  20.         menuRect.bottom(gMenuBarHeight);
  21.         RectRgn(menuRgn, menuRect);
  22.         
  23.         UnionRgn(LMGetGrayRgn(), menuRgn, LMGetGrayRgn());
  24.         PaintBehind(FrontWindow(), menuRgn);
  25.         CalcVisBehind(FrontWindow(), menuRgn);
  26.         
  27.         DisposeRgn(menuRgn);
  28.         
  29.         gMenuBarIsHidden = true;
  30.     }
  31. }
  32.  
  33. //    ShowMenuBar -- restore the menu bar and GrayRgn
  34. void ShowMenuBar(void)
  35. {
  36.     if ( gMenuBarIsHidden ) {
  37.         LMSetMBarHeight(gMenuBarHeight);
  38.         CopyRgn(gOldGrayRgn, LMGetGrayRgn());
  39.         
  40.         rect menuRect = qd.screenBits.bounds;
  41.         menuRect.bottom(gMenuBarHeight);
  42.         RectRgn(gOldGrayRgn, menuRect);
  43.         
  44.         PaintBehind(FrontWindow(), gOldGrayRgn);
  45.         CalcVisBehind(FrontWindow(), gOldGrayRgn);
  46.         
  47.         DrawMenuBar();
  48.         
  49.         DisposeRgn(gOldGrayRgn);
  50.         gOldGrayRgn = nil;
  51.         
  52.         gMenuBarIsHidden = false;
  53.     }
  54. }
  55.